import Vue from 'vue'
import Router from 'vue-router'

Vue.use(Router)

/* Layout */
import Layout from '@/layout'

/**
 * Note: 路由配置项
 *
 * hidden: true                   // 当设置 true 的时候该路由不会再侧边栏出现 如401，login等页面，或者如一些编辑页面/edit/1
 * alwaysShow: true               // 当你一个路由下面的 children 声明的路由大于1个时，自动会变成嵌套的模式--如组件页面
 *                                // 只有一个时，会将那个子路由当做根路由显示在侧边栏--如引导页面
 *                                // 若你想不管路由下面的 children 声明的个数都显示你的根路由
 *                                // 你可以设置 alwaysShow: true，这样它就会忽略之前定义的规则，一直显示根路由
 * redirect: noRedirect           // 当设置 noRedirect 的时候该路由在面包屑导航中不可被点击
 * name:'router-name'             // 设定路由的名字，一定要填写不然使用<keep-alive>时会出现各种问题
 * meta : {
    roles: ['admin','editor']    // 设置该路由进入的权限，支持多个权限叠加
    title: 'title'               // 设置该路由在侧边栏和面包屑中展示的名字
    icon: 'svg-name'             // 设置该路由的图标，对应路径src/icons/svg
    breadcrumb: false            // 如果设置为false，则不会在breadcrumb面包屑中显示
  }
 */

// 公共路由
export const constantRoutes = [
  {
    path: '/redirect',
    component: Layout,
    hidden: true,
    children: [
      {
        path: '/redirect/:path(.*)',
        component: (resolve) => require(['@/views/redirect'], resolve)
      }
    ]
  },
  {
    path: '/login',
    component: (resolve) => require(['@/views/login'], resolve),
    hidden: true
  },
  {
    path: '/wwloginRedirect',
    component: (resolve) => require(['@/views/wwloginRedirect'], resolve),
    hidden: true
  },
  {
    path: '/404',
    component: (resolve) => require(['@/views/error/404'], resolve),
    hidden: true
  },
  {
    path: '/401',
    component: (resolve) => require(['@/views/error/401'], resolve),
    hidden: true
  },
  {
    path: '/custhistory',
    name: '微客历史客户',
    component: (resolve) => require(['@/views/sysCust/custhistory/index'], resolve),
    hidden: true
  },
  {
    path: '/custhit',
    name: '微客撞单',
    component: (resolve) => require(['@/views/sysCust/custhit/index'], resolve),
    hidden: true
  },
  {
    path: '/crmCustDetail',
    name: 'CRM微客信息',
    component: (resolve) => require(['@/views/sysCust/crmCust/detail/detail'], resolve),
    hidden: true
  },
  {
    path: '/crmMiddleManImport',
    name: 'CRM中间人导入',
    component: (resolve) => require(['@/views/sysCust/crmMiddleman/import'], resolve),
    hidden: true
  },
  {
    path: '/qyyx/activityOpen',
    name: '全员营销活动',
    component: (resolve) => require(['@/views/qyyx/activity/index'], resolve),
    hidden: true
  },
  {
    path: '/qyyx/activityOpen/detail/:id',
    name: '编辑全员营销活动',
    component: (resolve) => require(['@/views/qyyx/activity/detail'], resolve),
    hidden: true
  },
  {
    path: '/qyyx/activityOpen/ewm/:id',
    name: '编辑全员营销活动',
    component: (resolve) => require(['@/views/qyyx/qrcode/index'], resolve),
    hidden: true
  },
  {
    path: '/cdInfoList',
    name: '企微触发活动',
    component: (resolve) => require(['@/views/khcd/cdinfo/index'], resolve),
    hidden: true
  },
  {
    path: '/cdInfoEdit',
    name: '企微触发活动编辑',
    component: (resolve) => require(['@/views/khcd/cdinfo/edit'], resolve),
    hidden: true
  },
  
  {
    path: '',
    component: Layout,
    redirect: 'index',
    children: [
      {
        path: 'index',
        component: (resolve) => require(['@/views/index'], resolve),
        name: '首页',
        meta: { title: '首页', icon: 'dashboard', noCache: true, affix: true }
      }
    ]
  },
  {
    path: '/user',
    component: Layout,
    hidden: true,
    redirect: 'noredirect',
    children: [
      {
        path: 'profile',
        component: (resolve) => require(['@/views/system/user/profile/index'], resolve),
        name: 'Profile',
        meta: { title: '个人中心', icon: 'user' }
      }
    ]
  },
  {
    path: '/dict',
    component: Layout,
    hidden: true,
    children: [
      {
        path: 'type/data/:dictId(\\d+)',
        component: (resolve) => require(['@/views/system/dict/data'], resolve),
        name: 'Data',
        meta: { title: '字典数据', icon: '' }
      }
    ]
  },
  {
    path: '/dictLessee',
    component: Layout,
    hidden: true,
    children: [
      {
        path: 'type/data/:dictId(\\d+)',
        component: (resolve) => require(['@/views/system/dictLessee/data'], resolve),
        name: 'Data',
        meta: { title: '字典数据', icon: '' }
      }
    ]
  },
  {
    path: '/job',
    component: Layout,
    hidden: true,
    children: [
      {
        path: 'log',
        component: (resolve) => require(['@/views/monitor/job/log'], resolve),
        name: 'JobLog',
        meta: { title: '调度日志' }
      }
    ]
  },
  {
    path: '/gen',
    component: Layout,
    hidden: true,
    children: [
      {
        path: 'edit/:tableId(\\d+)',
        component: (resolve) => require(['@/views/tool/gen/editTable'], resolve),
        name: 'GenEdit',
        meta: { title: '修改生成配置' }
      }
    ]
  },
  {
    path: '/JCGL/news/edit',
    component: Layout,
    hidden: true,
    redirect: 'noredirect',
    children: [
      {
        path: ':id',
        component: (resolve) => require(['@/views/basic/news/edit'], resolve),
        name: 'newsEdit',
        meta: { title: '修改新闻公告' }
      }
    ]
  },
  {
    path: '/xd/storeBasics/edit',
    component: Layout,
    hidden: true,
    redirect: 'noredirect',
    children: [
      {
        path: ':id',
        component: (resolve) => require(['@/views/xdstore/storeBasics/edit'], resolve),
        name: 'storeBasicsEdit',
        meta: { title: '门店基础信息维护' }
      }
    ]
  },
  {
    path: '/xd/branchCustomer/index',
    component: Layout,
    hidden: true,
    redirect: 'noredirect',
    children: [
      {
        path: '',
        component: (resolve) => require(['@/views/xdstore/branchCustomer/index'], resolve),
        name: 'branchCustomer',
        meta: { title: '网点招商客户' }
      }
    ]
  },
  {
    path: '/xd/logFollow/index',
    component: Layout,
    hidden: true,
    redirect: 'noredirect',
    children: [
      {
        path: '',
        component: (resolve) => require(['@/views/xdstore/logFollow/index'], resolve),
        name: 'logFollow',
        meta: { title: '网点招商日志跟进' }
      }
    ]
  },
  {
    path: "/share/info/edit",
    component: Layout,
    hidden: true,
    redirect: "noredirect",
    children: [
      {
        path: ":id",
        component: resolve =>
          require(["@/views/share/info/edit"], resolve),
        name: "infoEdit",
        meta: { title: "素材圈信息维护" }
      }
    ]
  },
  {
    path: '/xd/project/edit',
    component: Layout,
    hidden: true,
    redirect: 'noredirect',
    children: [
      {
        path: ':id',
        component: (resolve) => require(['@/views/xdstore/project/edit'], resolve),
        name: 'projectEdit',
        meta: { title: '门店评价选项维护' }
      }
    ]
  },
  {
    path: '/LSY/LJCLXLX/category/edit',
    component: Layout,
    hidden: true,
    redirect: 'noredirect',
    children: [
      {
        path: ':id',
        component: (resolve) => require(['@/views/category/category/edit'], resolve),
        name: 'categoryEdit',
        meta: { title: '商品分类维护' }
      }
    ]
  },
  {
    path: '/LSY/LJCLXLX/suppliers/edit',
    component: Layout,
    hidden: true,
    redirect: 'noredirect',
    children: [
      {
        path: ':id',
        component: (resolve) => require(['@/views/suppliers/suppliers/edit'], resolve),
        name: 'suppliersEdit',
        meta: { title: '商铺基本信息维护' }
      }
    ]
  },
  {
    path: '/JX/jxstudent/archives',
    component: Layout,
    hidden: true,
    redirect: 'noredirect',
    children: [
      {
        path: ':code',
        component: (resolve) => require(['@/views/jx/jxstudent/archives/index'], resolve),
        name: 'studentArchives',
        meta: { title: '学生档案' }
      }
    ]
  },
  {
    path: '/system/user/archives',
    component: Layout,
    hidden: true,
    redirect: 'noredirect',
    children: [
      {
        path: ':code',
        component: (resolve) => require(['@/views/system/user/archives/index'], resolve),
        name: 'userArchives',
        meta: { title: '用户档案' }
      }
    ]
  },
  {
    path: '/rota/arrange',
    component: Layout,
    hidden: true,
    redirect: 'noredirect',
    children: [
      {
        path: ':code',
        component: (resolve) => require(['@/views/basic/rota/arrange'], resolve),
        name: 'rotaArrange',
        meta: { title: '值日管理' }
      }
    ]
  },
  {
    path: '/LSY/order/orderInfo/detail',
    component: Layout,
    hidden: true,
    redirect: 'noredirect',
    children: [
      {
        path: ':id',
        component: (resolve) => require(['@/views/orderInfo/orderInfo/detail'], resolve),
        name: 'orderInfoDetail',
        meta: { title: '订单详情' }
      }
    ]
  },
  {
    path: '/LSY/order/orderInfo/logistic',
    component: Layout,
    hidden: true,
    redirect: 'noredirect',
    children: [
      {
        path: ':id',
        component: (resolve) => require(['@/views/orderInfo/orderInfo/logistic'], resolve),
        name: 'logisticDetail',
        meta: { title: '物流详情' }
      }
    ]
  },
  {
    path: '/LSY/goods/edit',
    component: Layout,
    hidden: true,
    redirect: 'noredirect',
    children: [
      {
        path: ':id',
        component: (resolve) => require(['@/views/goods/goods/edit'], resolve),
        name: 'goodsEdit',
        meta: { title: '商品编辑' }
      }
    ]
  },
  {
    path: '/JCGL',
    component: Layout,
    hidden: true,
    redirect: 'noredirect',
    children: [
      {
        path: 'lzjb',
        component: (resolve) => require(['@/views/lzjb/lzjbinfo'], resolve),
        name: 'Lzjbinfo',
        meta: { title: '廉正举报' }
      }
    ]
  },
  {
    path: '/sc',
    component: Layout,
    hidden: true,
    redirect: 'noredirect',
    children: [
      {
        path: 'activity/detail/:id',
        component: (resolve) => require(['@/views/qyyx/activity/detail'], resolve),
        name: 'ActivityDetail',
        meta: { title: '编辑全员营销活动' }
      },
      {
        path: 'activity/ewm/:id',
        component: (resolve) => require(['@/views/qyyx/qrcode/index'], resolve),
        name: 'ActivityQrcode',
        meta: { title: '全员营销二维码' }
      }
    ]
  },
  {
    path: '/khcd/cdinfo',
    component: Layout,
    hidden: true,
    redirect: 'noredirect',
    children: [
      {
        path: 'edit',
        component: (resolve) => require(['@/views/khcd/cdinfo/edit'], resolve),
        name: 'cdinfoEdit',
        meta: { title: '企微触发活动编辑' }
      }
    ]
  }
]

export default new Router({
  mode: 'hash', // 去掉url中的#
  scrollBehavior: () => ({ y: 0 }),
  routes: constantRoutes
})
